package com.kili.cloud.shorturl.service;

import com.kili.cloud.shorturl.vo.InputReturnVO;
import com.kili.cloud.shorturl.vo.ShortUrlParam;

/**
 * @description 长链接转化为短链接的服务接口定义
 * @author tom.liu
 * @date 2019/6/16 22:01
 */
public interface ShortUrlService {

    /**
     * 功能描述:长链接转短链接方法
     * @param param 长链接信息
     * @param visitType 访问类型 0：正常访问  1：试用访问
     * @param shortUrlMaxInputCount 每分钟最大存入次数
     * @param shortUrlDomain 短链接固定前缀
     * @return String 压缩后的短链接
     * @author tom.liu
     * @date 2019/6/16 22:05
     */
    InputReturnVO input(ShortUrlParam param, int visitType, Long shortUrlMaxInputCount, String shortUrlDomain);

    /**
     * 功能描述: 访问短链接的处理方法
     * @param uri 压缩后的短链接
     * @param ip 调用方的ip地址
     * @param shortUrlMaxVisitCount 每分钟最大访问次数
     * @return String 原链接
     * @author tom.liu
     * @date 2019/6/16 22:07
     */
    String visit(String uri, String ip, Long shortUrlMaxVisitCount);


}
